
<!--suppress ALL-->
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>layuiAdmin 角色管理</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
</head>
<body>

<div class="layui-fluid">
    <div class="layui-card">
        <div class="layui-form layui-card-header layuiadmin-card-header-auto">
            <div class="layui-form-item">
                <div class="layui-inline">
                    角色筛选
                </div>
                <div class="layui-inline">
                    <select name="rolename" lay-filter="LAY-role-role-type">
                        <option value="-1">全部角色</option>
                        <option th:each="role : ${roleList}" th:value="${role.id}" th:text="${role.getNameZH()}">
                        </option>
                    </select>
                </div>
            </div>
        </div>
        <div class="layui-card-body">
            <div style="padding-bottom: 10px;">
                <button class="layui-btn layuiadmin-btn-role" data-type="batchdel">删除</button>
                <button class="layui-btn layuiadmin-btn-role" data-type="add">添加</button>
            </div>

            <table id="LAY-role-back-role" lay-filter="LAY-role-back-role"></table>
            <script type="text/html" id="buttonTpl">
                {{#  if(d.check == true){ }}
                <button class="layui-btn layui-btn-xs">已审核</button>
                {{#  } else { }}
                <button class="layui-btn layui-btn-primary layui-btn-xs">未审核</button>
                {{#  } }}
            </script>
            <script type="text/html" id="table-useradmin-admin">
                <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i
                        class="layui-icon layui-icon-edit"></i>编辑</a>
                <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i
                        class="layui-icon layui-icon-delete"></i>删除</a>
            </script>
        </div>
    </div>
</div>

<script type="text/html" id="barOption">
    <a class="layui-btn layui-btn-mini" lay-event="detail">查看</a>
    <a class="layui-btn layui-btn-mini layui-btn-normal" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-mini layui-btn-danger" lay-event="del">删除</a>
</script>

<script src="/layuiadmin/layui/layui.js"></script>
<script th:inline="none">
    layui.config({
        base: '/layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'useradmin', 'table'], function () {
        var $ = layui.$
            , form = layui.form
            , table = layui.table;
        table.render({
            elem: '#LAY-role-back-role'
            , url: '/userjue'
            , totalRow: true
            , cellMinWidth: 80
            , cols: [[
                {type: 'checkbox'},
                {field: 'id', title: 'ID', sort: true}
                , {field: 'name', title: '用户角色'} //width 支持：数字、百分比和不填写。你还可以通过 minWidth 参数局部定义当前单元格的最小宽度，layui 2.2.1 新增
                , {field: 'nameZH', title: '角色名', align: 'center'} //单元格内容水平居中
                , {fixed: 'right', align: 'center', toolbar: '#barOption'}
            ]]
            , page: true

        });

        //监听修改
        table.on('tool(LAY-role-back-role)', function (obj) {
            var data = obj.data;
            if (obj.event === 'edit') {
                layer.open({
                    //layer提供了5种层类型。可传入的值有：0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                    type: 2,
                    title: "修改用户",
                    content: '/updateRole?id=' + data.id,
                    maxmin: true,
                    area: ['500px', '450px']
                    //引用的弹出层的页面层的方式加载修改界面表单
                });
            } else if (obj.event === 'del') {
                layer.confirm('确定删除吗？', function (index) {
                    $.ajax({
                        url: '/delRole',
                        type: "post",
                        data: "id=" + data.id,
                        dataType: "JSON",
                        success: function (data) {
                            if (data.code === 0) {
                                layer.msg('删除成功');
                                table.reload('LAY-role-back-role', {});
                            } else {
                                layer.msg('删除失败');
                            }
                        }
                    })
                })
            }
        })

        //搜索角色
        form.on('select(LAY-role-role-type)', function (data) {
            //执行重载
            table.reload('LAY-role-back-role', {
                where: {
                    rid: data.value
                }
            });
        });

        //事件
        var active = {
            batchdel: function () {
                var checkStatus = table.checkStatus('LAY-role-back-role')
                    , checkData = checkStatus.data
                    , deList = []; //得到选中的数据
                checkData.forEach(function (n, i) {
                    deList.push(n.id);
                })
                if (checkData.length === 0) {
                    return layer.msg('请选择数据');
                }

                layer.confirm('确定删除吗？', function (index) {
                    //执行 Ajax 后重载
                    $.ajax({
                        url: '/delRole',
                        type: 'post',
                        dataType: 'json',
                        data: "id=" + deList,
                        success: function (data) {
                            if (data.code === 0) {
                                layer.msg('删除成功');
                                table.reload('LAY-role-back-role', {});
                            } else {
                                layer.msg('删除失败');
                            }
                        },
                        'error': function () {
                            layer.msg('系统错误');
                        }
                    })
                    table.reload('LAY-role-back-role');
                    layer.msg('已删除');
                });
            },
            add: function () {
                layer.open({
                    type: 2
                    , title: '添加新角色'
                    , content: '/roleall'
                    , area: ['500px', '480px']
                    , yes: function (index, layero) {
                        var iframeWindow = window['layui-layer-iframe' + index]
                            , submit = layero.find('iframe').contents().find("#LAY-user-role-submit");

                        //监听提交
                        iframeWindow.layui.form.on('submit(LAY-user-role-submit)', function (data) {
                            var field = data.field; //获取提交的字段

                            //提交 Ajax 成功后，静态更新表格中的数据
                            //$.ajax({});
                            table.reload('LAY-role-back-role');
                            layer.close(index); //关闭弹层
                        });

                        submit.trigger('click');
                    }
                });
            }
        }
        $('.layui-btn.layuiadmin-btn-role').on('click', function () {
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
    });
</script>
</body>
</html>

